Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/remote-list: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/gpg-sign: Port to C99 style
General background cleanup.
Jonathan Lebon [Tue, 14 Jun 2022 20:20:44 +0000 (16:20 -0400)]
Merge pull request #2650 from cgwalters/misc-declare-and-initialize-1
Joseph Marrero Corchado [Tue, 14 Jun 2022 14:38:46 +0000 (10:38 -0400)]
Merge pull request #2649 from cgwalters/misc-declare-and-initialize
cli: a few "Port to C99 style"
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/diff: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/config: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/unlock: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/undeploy: Port to C99 style
General background cleanup.
Colin Walters [Tue, 14 Jun 2022 13:50:07 +0000 (09:50 -0400)]
cli/os-init: Port to C99 style
General background cleanup; motivated by a recent PR which
was using pre-C99 code as a base.
Colin Walters [Mon, 13 Jun 2022 13:10:36 +0000 (09:10 -0400)]
Merge pull request #2643 from cgwalters/rust-2021
rust: Switch to 2021 edition, bump MSRV, a few `format!` updates
Luca Bruno [Mon, 13 Jun 2022 07:46:14 +0000 (07:46 +0000)]
Merge pull request #2646 from cgwalters/bindings-tests
rust-bindings: Wire up `tests/`
Luca Bruno [Mon, 13 Jun 2022 07:32:33 +0000 (07:32 +0000)]
Merge pull request #2645 from cgwalters/fsck-more-cleanups
fsck: A few more cleanups
Colin Walters [Sun, 12 Jun 2022 18:34:02 +0000 (14:34 -0400)]
rust-bindings: Wire up `tests/`
Because the source is in a subdirectory, we lose out on cargo target
autodiscovery.
I noticed this when I edited one of the tests in a way that
should have failed, but didn't...
Colin Walters [Sun, 12 Jun 2022 14:55:14 +0000 (10:55 -0400)]
fsck: Use `load_variant_if_exists`
This cleans up error handling here.
Colin Walters [Sun, 12 Jun 2022 14:53:09 +0000 (10:53 -0400)]
fsck: Move most commit processing into helper function
The inner loop was way too long; split out most of the heavy
lifting around backrefs and tombstones into a helper function.
Colin Walters [Sun, 12 Jun 2022 14:48:39 +0000 (10:48 -0400)]
fsck: De-indent loop
Could have done this in the previous change, but wanted to avoid
excessive diff noise.
Colin Walters [Sat, 11 Jun 2022 12:09:35 +0000 (08:09 -0400)]
Merge pull request #2644 from cgwalters/list-commit-objects
fsck: Don't load all object names into memory
Colin Walters [Thu, 9 Jun 2022 22:32:09 +0000 (18:32 -0400)]
fsck: Don't load all object names into memory
We recently discovered `list_objects()` is inefficient with memory.
The more efficient `list_objects_set()` API isn't yet public, but
this fsck code actually just skips over non-commit objects, and
we already have an API to list just those.
Colin Walters [Thu, 9 Jun 2022 22:34:25 +0000 (18:34 -0400)]
repo: Document non-obvious way to list all commits
I was going to add an API for this and then realized the empty
string does it.
Colin Walters [Thu, 9 Jun 2022 21:51:07 +0000 (17:51 -0400)]
rust: Use inline `format!` variables in a few places
Since our MSRV now supports it.
Colin Walters [Thu, 9 Jun 2022 21:49:18 +0000 (17:49 -0400)]
ci: Bump MSRV
To match what's in ostree-rs-ext.
Joseph Marrero Corchado [Thu, 9 Jun 2022 20:53:52 +0000 (16:53 -0400)]
Merge pull request #2641 from cgwalters/bump-ostree-rs-ext-0.7
tests/inst: Bump the version of ostree-ext
Joseph Marrero Corchado [Thu, 9 Jun 2022 20:53:00 +0000 (16:53 -0400)]
Merge pull request #2642 from cgwalters/rust-bindings-cargo-updates
Rust bindings cargo updates
Colin Walters [Thu, 9 Jun 2022 19:55:41 +0000 (15:55 -0400)]
rust: Switch to 2021 edition
No real changes.
```
$ cargo fix --edition
note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
This may cause some dependencies to be built with fewer features enabled than previously.
More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
When building the following dependencies, the given features will no longer be used:
libc v0.2.126 removed features: extra_traits
The following differences only apply when building with dev-dependencies:
getrandom v0.2.6 removed features: std
```
which looks OK to me.
Colin Walters [Thu, 9 Jun 2022 18:59:44 +0000 (14:59 -0400)]
rust-bindings: Update cargo package list
When we did the merger, it turns out cargo by default is basically
going to include all of stuff in the git repository root directory
which is "libostree". We just want the stuff in `rust-bindings/`.
I initially tried adding `include = "rust-bindings/"` but
according to
https://doc.rust-lang.org/cargo/reference/manifest.html#the-exclude-and-include-fields
specifying `include` means that `exclude` is
ignored, which is kind of annoying. Further, doing so *also*
turns off the cargo automatic rules for handling e.g. `gitignore`.
So for now I went with the approach of adding everything from the C
library stuff into `exclude/`.
Colin Walters [Thu, 9 Jun 2022 18:55:25 +0000 (14:55 -0400)]
rust-bindings: use correct README.md
I noticed at https://crates.io/crates/ostree/0.14.0
that the `README.md` was wrong...
Colin Walters [Thu, 9 Jun 2022 18:53:06 +0000 (14:53 -0400)]
rust-bindings: Fix repository reference
Since the repo merge.
Colin Walters [Thu, 9 Jun 2022 18:51:45 +0000 (14:51 -0400)]
tests/inst: Bump the version of ostree-ext
In the interest of cross-testing and keeping things up to date.
Hmm, I think we need to set up dependabot here.
Joseph Marrero Corchado [Wed, 8 Jun 2022 21:17:28 +0000 (17:17 -0400)]
Merge pull request #2638 from cgwalters/fix-symbol-versioning
lib: Fix symbol versioning inheritance
Joseph Marrero Corchado [Wed, 8 Jun 2022 20:53:29 +0000 (16:53 -0400)]
Merge pull request #2637 from cgwalters/opt-prune-reachable-too
prune: Also use object set API in `ostree_repo_prune_from_reachable()`
Colin Walters [Wed, 8 Jun 2022 20:27:30 +0000 (16:27 -0400)]
lib: Fix symbol versioning inheritance
I messed this up; the last release should inherit from the previous
release (N-1) and not the previous to that (N-2).
I think (hope) this isn't an ABI break...
Just noticed this when I was going to add a new symbol.
Colin Walters [Wed, 8 Jun 2022 20:22:26 +0000 (16:22 -0400)]
prune: Also use object set API in `ostree_repo_prune_from_reachable()`
I missed the second prune path when working on
https://github.com/ostreedev/ostree/pull/2635
Colin Walters [Wed, 8 Jun 2022 17:16:11 +0000 (13:16 -0400)]
Merge pull request #2636 from cgwalters/update-git-libostree-git-rust
ci: Add a flow that does a git libostree + git rust-bindings
Jonathan Lebon [Wed, 8 Jun 2022 15:38:36 +0000 (11:38 -0400)]
Merge pull request #2635 from cgwalters/list-objects-set
Colin Walters [Wed, 8 Jun 2022 13:53:33 +0000 (09:53 -0400)]
ci: Add a flow that does a git libostree + git rust-bindings
In https://github.com/ostreedev/ostree/pull/2633 I realized
that our CI only builds git of libostree or git of rust-bindings,
not git of both. And we definitely want to test the latter too,
so e.g. the Rust tests *also* become tests for changes to the C code.
Colin Walters [Wed, 8 Jun 2022 01:41:08 +0000 (21:41 -0400)]
repo: Further optimize `ostree_repo_list_objects_set()`
In a prior change we discovered that for bad historical reasons
libostree was returning a mapping "object type+checksum" => "metadata"
but the "metadata" was redundant and pointless.
Optimize the prune API to use a (currently internal) object listing
API which returns a set, not a map. This allows `GHashTable` to
avoid allocating a separate array for the values, neatly cutting
memory usage in half (from ~13MB to ~6MB) on my test case of a
dry-run prune of a FCOS build.
Joseph Marrero Corchado [Wed, 8 Jun 2022 14:15:02 +0000 (10:15 -0400)]
Merge pull request #2633 from cgwalters/bump-rust-bindings
rust: Bump semver, add feature for current release
Colin Walters [Tue, 7 Jun 2022 21:59:02 +0000 (17:59 -0400)]
rust: Bump semver, add feature for current release
There were some changes to the sys API for introspection fixes.
And add a feature for the current release, which is something
I'll add to the checklist for releases.
Dan Nicholson [Wed, 8 Jun 2022 02:59:45 +0000 (20:59 -0600)]
Merge pull request #2634 from cgwalters/list-objects-malloc
repo: Optimize memory use of `ostree_repo_list_objects()`
Colin Walters [Wed, 8 Jun 2022 00:30:09 +0000 (20:30 -0400)]
repo: Optimize memory use of `ostree_repo_list_objects()`
I was looking at https://github.com/ostreedev/ostree/pull/2632
and confused at the usage of
`GVariant *value = g_variant_new ("(b@as)", TRUE, g_variant_new_strv (NULL, 0));`
which looked strange - why the empty strv?
It turns out that this is a historical legacy of the time when
ostree had pack files. And nothing actually cares about the values
of these variants; we should have an API that returns a proper set,
and not a hash.
But...since all of these things have exactly the same value, instead
of allocating lots of redundant copies on the heap, just have
them all hold a refcount on a shared value.
This cuts the heap usage from 20MB to 13MB on a test FCOS repository
build.
Joseph Marrero Corchado [Mon, 6 Jun 2022 16:49:42 +0000 (12:49 -0400)]
Merge pull request #2631 from cgwalters/release-2022-4
Release 2022.4
Colin Walters [Mon, 6 Jun 2022 15:06:44 +0000 (11:06 -0400)]
configure: post-release version bump
Colin Walters [Mon, 6 Jun 2022 15:04:44 +0000 (11:04 -0400)]
Release 2022.4
Jonathan Lebon [Fri, 3 Jun 2022 14:52:44 +0000 (10:52 -0400)]
Merge pull request #2627 from cgwalters/bindings-drop-committed-gir
Colin Walters [Fri, 3 Jun 2022 13:58:20 +0000 (09:58 -0400)]
rust-bindings: Update to latest git
Colin Walters [Fri, 3 Jun 2022 13:57:12 +0000 (09:57 -0400)]
rust-bindings: Use OSTree-1.0.gir from our own builddir
Now that the projects are unified.
Colin Walters [Fri, 3 Jun 2022 13:48:47 +0000 (09:48 -0400)]
rust-bindings: Delete committed gir files
These seem to have been accidentally committed to git; they should
not be here. The Gir should be derived from source code.
Joseph Marrero Corchado [Fri, 3 Jun 2022 13:22:48 +0000 (09:22 -0400)]
Merge pull request #2625 from cgwalters/drop-features-introspection
Drop `OSTREE_BUILT_FEATURES` from introspection
Joseph Marrero Corchado [Fri, 3 Jun 2022 13:10:27 +0000 (09:10 -0400)]
Merge pull request #2624 from cgwalters/misc-introspection-fixes
Rename ostree-cmdprivate to drop out of introspection
Colin Walters [Thu, 2 Jun 2022 23:42:52 +0000 (19:42 -0400)]
Drop `OSTREE_BUILT_FEATURES` from introspection
It inherently depends on the individual build, and can't
really be an official stable API for introspection users.
I've noticed the value of this flip flop when doing local builds.
I'm fairly certain no one is trying to use it from a higher level
language.
It'd probably make sense to even drop from the official C API,
but I'm trying to be conservative with that.
Colin Walters [Thu, 2 Jun 2022 21:13:17 +0000 (17:13 -0400)]
Rename ostree-cmdprivate to drop out of introspection
I was looking at our `.gir` and noticed we had the cmdprivate bits
because the pattern for excluding headers is `-private.h`, which
didn't match `cmdprivate.h`.
Luca Bruno [Thu, 2 Jun 2022 15:38:46 +0000 (15:38 +0000)]
Merge pull request #2620 from jameswestman/lookup-annotations
Fix annotations on ostree_mutable_tree_lookup()
Jonathan Lebon [Tue, 31 May 2022 19:14:50 +0000 (15:14 -0400)]
Merge pull request #2622 from cgwalters/more-ci
Colin Walters [Tue, 31 May 2022 14:58:26 +0000 (10:58 -0400)]
gitignore: Add ci-build/
Generated by our scripts.
Colin Walters [Tue, 31 May 2022 14:57:00 +0000 (10:57 -0400)]
ci: Add a codestyle.sh
This matches what we do in rpm-ostree. Move the `glnx_fd_close`
bits out of `make syntax-check` in preparation for dropping that.
Colin Walters [Tue, 31 May 2022 14:49:09 +0000 (10:49 -0400)]
ci: Drop an unused files
Cruft from previous CI flows.
Jonathan Lebon [Tue, 31 May 2022 15:24:33 +0000 (11:24 -0400)]
Merge pull request #2621 from cgwalters/drop-jenkins-soup
Colin Walters [Tue, 31 May 2022 13:59:02 +0000 (09:59 -0400)]
ci: Drop libsoup build in jenkins
GH actions is fast zero cost system that covers these build matrix
things well. Let's keep our Fedora CI system doing more of the
qemu heavy lifting.
James Westman [Mon, 30 May 2022 22:28:54 +0000 (17:28 -0500)]
Fix annotations on ostree_mutable_tree_lookup()
(nullable) and (optional) were missing on lookup()'s out parameters,
which caused the rust bindings for the function to not work. Due to the
missing (nullable), it would return a Result<(GString, MutableTree), _>,
not a Result<(Option<GString>, Option<MutableTree>), _>, which led to
panics.
Luca Bruno [Mon, 30 May 2022 17:35:05 +0000 (17:35 +0000)]
Merge pull request #2613 from GuiltyDoggy/man-update
man: Fix ostree-admin-instutil subcommands
Jonathan Lebon [Fri, 27 May 2022 20:27:08 +0000 (16:27 -0400)]
Merge pull request #2619 from nikita-dubrovskii/skip_gzip_unpacking
Nikita Dubrovskii [Fri, 27 May 2022 07:13:18 +0000 (09:13 +0200)]
s390x: do not unpack existing initrd, just append LUKS keys to its copy
Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
Luca Bruno [Fri, 27 May 2022 06:37:54 +0000 (06:37 +0000)]
Merge pull request #2618 from jlebon/pr/copr-fix
copr: mark git checkout as safe
Jonathan Lebon [Thu, 26 May 2022 20:54:43 +0000 (16:54 -0400)]
copr: mark git checkout as safe
Recent git became more strict wrt git repos in parent dirs owned by
other users. This broke our COPR builds due to the git checkout being
created by a different user and mounted in. We need to explicitly mark
the repo as safe.
For more information, see:
https://github.com/actions/checkout/issues/760
Jonathan Lebon [Wed, 25 May 2022 17:38:23 +0000 (13:38 -0400)]
Merge pull request #2615 from nikita-dubrovskii/handle_errors
Colin Walters [Wed, 25 May 2022 15:33:10 +0000 (11:33 -0400)]
Merge pull request #2605 from saqibali-2k/pr/bls-append
ostree-systroot-deploy: parse bls-append-except-default key
Nikita Dubrovskii [Tue, 24 May 2022 17:30:35 +0000 (19:30 +0200)]
s390x: fail on error during reading of SecureExecution sysfs flag
Luca Bruno [Wed, 25 May 2022 07:00:12 +0000 (07:00 +0000)]
Merge pull request #2616 from HuijingHei/dup-osname
Remove dup "--os=OSNAME" line in output of "ostree admin config-diff --help"
Huijing Hei [Wed, 25 May 2022 03:15:39 +0000 (11:15 +0800)]
Remove dup "--os=OSNAME" line in output of "ostree admin config-diff --help"
Small fix for https://github.com/ostreedev/ostree/issues/2594
Huijing Hei [Wed, 25 May 2022 03:12:47 +0000 (11:12 +0800)]
Fix GNU style of two spaces for indent in https://github.com/ostreedev/ostree/pull/2612
Colin Walters [Tue, 24 May 2022 15:18:54 +0000 (11:18 -0400)]
Merge pull request #2612 from HuijingHei/deploy-karg-delete
Teach --karg-delete option to ostree admin deploy
Dusty Mabe [Mon, 23 May 2022 20:11:56 +0000 (16:11 -0400)]
Merge pull request #2614 from nikita-dubrovskii/issue-2867
s390x: ensure SecureExecution is enabled before sd-boot generation
Nikita Dubrovskii [Mon, 23 May 2022 15:28:54 +0000 (17:28 +0200)]
s390x: ensure SecureExecution is enabled before sd-boot generation
Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
Colin Walters [Mon, 23 May 2022 12:41:35 +0000 (08:41 -0400)]
Merge pull request #2580 from nikita-dubrovskii/sdboot_partition
s390x: generate sd-boot at its own partition
Yosuke Matsumura [Thu, 19 May 2022 20:54:26 +0000 (15:54 -0500)]
man: Fix ostree-admin-instutil subcommands
<term><cmdsynopsis> is not valid, causing the command to not be rendered
correctly.
Create one <variablelist> per <cmdsynopsis>. Inelegant but maintains
desired formatting.
Closes #2581
Huijing Hei [Wed, 18 May 2022 02:45:46 +0000 (10:45 +0800)]
Teach --karg-delete option to ostree admin deploy
See https://github.com/ostreedev/ostree/issues/2586
Saqib Ali [Wed, 11 May 2022 14:54:42 +0000 (10:54 -0400)]
man/ostree.repo-config.xml: add docs for bls-append-except-default key
Relevant: https://github.com/coreos/fedora-coreos-tracker/issues/134
Saqib Ali [Mon, 9 May 2022 16:39:32 +0000 (12:39 -0400)]
ostree-systroot-deploy: parse bls-append-except-default key
We want to parse a new "bls-append-except-default" key from ostree config. The
key-value pairs specified by this key will be added to the generated
BLS fragments of non-default deployments. They must follow the format
"key1,value1;key2,value2" and so on.
This change will allow us to land GRUB password support in FCOS.
Relevant: https://github.com/coreos/fedora-coreos-tracker/issues/134
Nikita Dubrovskii [Mon, 4 Apr 2022 14:09:50 +0000 (16:09 +0200)]
s390x: generate sd-boot at its own partition
Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
Joseph Marrero Corchado [Tue, 17 May 2022 14:43:30 +0000 (10:43 -0400)]
Merge pull request #2610 from cgwalters/ci-tweaks-2
ci: Move codestyle and min build to GH actions
Colin Walters [Tue, 17 May 2022 00:10:32 +0000 (20:10 -0400)]
ci: Move codestyle and min build to GH actions
Part of general momentum to leave heavy lifting (e.g. VM tests)
to Jenkins and Prow and use the cheaper/faster GH actions for
plain builds.
Colin Walters [Mon, 16 May 2022 19:55:35 +0000 (15:55 -0400)]
Merge pull request #2608 from cgwalters/fanalyzer-fixes
ci: Drop gcc `-fanalyzer` by default
Colin Walters [Mon, 16 May 2022 16:37:15 +0000 (12:37 -0400)]
ci: Drop all `runAsUser: 0` in builds
This triggers the new git warning; I think this is only
here because long ago we used coreos-assembler as a buildroot,
but that's long since fixed.
Colin Walters [Sun, 15 May 2022 20:03:38 +0000 (16:03 -0400)]
ci: Drop gcc `-fanalyzer` by default
There's a pile of new warnings in GCC 12 from F36, I dug into
them but most of them seem inscrutable - I am not seeing the bugs.
For now to unblock further work, stop using this flag.
Colin Walters [Mon, 16 May 2022 14:59:27 +0000 (10:59 -0400)]
sysroot: Strengthen several `g_return_if_fail` into `g_assert()`
Similar to prior changes; motivated by testing out an updated
`gcc -fanalyzer`.
Colin Walters [Sun, 15 May 2022 20:03:01 +0000 (16:03 -0400)]
sysroot: Quiet one gcc `-fanalyzer` warning
I don't think this can happen in practice, but add an assertion
to verify it.
Luca Bruno [Thu, 12 May 2022 13:18:45 +0000 (13:18 +0000)]
Merge pull request #2606 from ostreedev/dependabot/submodules/libglnx-
c59eb27
build(deps): bump libglnx from `
c71f7ae` to `
c59eb27`
dependabot[bot] [Thu, 12 May 2022 12:32:06 +0000 (12:32 +0000)]
build(deps): bump libglnx from `
c71f7ae` to `
c59eb27`
Bumps libglnx from `
c71f7ae` to `
c59eb27`.
---
updated-dependencies:
- dependency-name: libglnx
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Joseph Marrero Corchado [Tue, 10 May 2022 21:43:19 +0000 (17:43 -0400)]
Merge pull request #2603 from cgwalters/use-cargo-deny
ci: use cargo-deny
Colin Walters [Tue, 10 May 2022 21:13:44 +0000 (17:13 -0400)]
ci: use cargo-deny
Copied from https://github.com/ostreedev/ostree-rs-ext/pull/291
Part of unifying our CI.
Colin Walters [Mon, 9 May 2022 20:41:08 +0000 (16:41 -0400)]
Merge pull request #2575 from cgwalters/merge-ostree-rs
Merge ostree-rs into this repository
Colin Walters [Mon, 9 May 2022 19:00:53 +0000 (15:00 -0400)]
Merge pull request #2601 from cgwalters/expose-get-xattrs
Add APIs to get xattrs from disk
Colin Walters [Mon, 9 May 2022 19:00:00 +0000 (15:00 -0400)]
Merge pull request #2602 from cgwalters/fix-docs-ci
ci: Work around GH actions `container:` + git + security bug
Colin Walters [Mon, 9 May 2022 18:53:40 +0000 (14:53 -0400)]
rust-bindings: Remove some unused CI/test bits
We're not using Vagrant or Gitlab, and our container flow is
different.
Colin Walters [Mon, 9 May 2022 18:52:46 +0000 (14:52 -0400)]
ci: Move rust-bindings CI to toplevel
It should replace our stub one.
Colin Walters [Mon, 9 May 2022 18:52:26 +0000 (14:52 -0400)]
tests/inst: Add .gitignore
Need this now that it is it's own workspace.
Colin Walters [Mon, 9 May 2022 18:46:41 +0000 (14:46 -0400)]
ci: Work around GH actions `container:` + git + security bug
See https://github.com/actions/checkout/issues/760
Colin Walters [Mon, 9 May 2022 16:57:40 +0000 (12:57 -0400)]
tests/inst: Fix install rules for ostree-rs merger
`tests/inst` became its own workspace.
Colin Walters [Sat, 7 May 2022 17:51:31 +0000 (13:51 -0400)]
Add APIs to get xattrs from disk
I'm aiming to do some more work on the Rust side around `fsck`
like functionality, and this is a useful primitive. There isn't
a great Rust crate for xattrs, and I think it's better to share this
code.
Colin Walters [Fri, 6 May 2022 20:46:46 +0000 (16:46 -0400)]
cfg.mk: Don't even look at rust-bindings/
It's really tempting to remove `make syntax-check`, it has very
very rarely found any real problems.
But anyways, just exclude all the binding code because it trips
up random problems we simply don't care about like mentions of
`O_NDELAY` in the `GLib-2.0.gir`.